package com.ocom.common.entity.card;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ocom.common.entity.payconfig.EntityXfDeviceMealConfig;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "xf_record_process")
public class EntityXfRecordProcess implements Serializable{

    private static final long serialVersionUID = 3098479106755059599L;
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private Long comId;
    private String deviceNo;
    private String deviceName;
    private Long pointId;
    private String pointName;
    private Long merchId;
    private String merchName;
    private Long deptId;
    private String deptName;
    @JsonProperty("chargeBalance")
    private Long chargeBalance;
    private Long subBalance;
    @JsonProperty("pId")
    private Long pId;
    @JsonProperty("pCode")
    private String pCode;
    @JsonProperty("pName")
    private String pName;
    private String accountNo;
    private String cardNo;
    private Long discount;
    private Integer discountWay;
    private Integer payState;
    private Long consMoney;
    private Long realMoney;
    @TableField(value = "charge_money")
    private Long chargeMoney;
    @TableField(value = "sub_money")
    private Long subMoney;
    private Integer payWay;
    private String orderNo;
    private String platOrderNo;
    private String channelOrderNo;
    private String monthValue;
    private String origOrderNo;
    private Integer  consType;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date consTime;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date payTime;
    private Long payAmount;
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date mealDate;
    private String mealNo;
    private String payChannelNo;
    private Integer consState;
    private Long opType;
    private Long opTypeDiff;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;
    private Long ifRefund;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date refundTime;

    private Integer channelDiscount;

    @TableField(exist = false)
    private Integer amount;

    @TableField(exist = false)
    private Integer times;

    @TableField(exist = false)
    private List<EntityXfDeviceMealConfig> xfDeviceMealConfigList;

    String reserved1;
    String reserved2;
    String reserved3;
    Integer sendState;


    Integer receiptId;
    String receiptName;
    String receiptNo;

    Integer verification;

    Integer parValue;
    Integer deduction;
    Integer voucherType;
    String voucherNo;
    Integer voucherNumber;

    Integer channelFee;
    Integer accTypeId;
    Integer subAccount;


}
